package com.letu.core.utils;

import cn.hutool.extra.qrcode.QrCodeException;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import lombok.extern.slf4j.Slf4j;

import java.io.OutputStream;

/**
 * 二维码工具
 */
@Slf4j
public class QrUtil {


    // 自定义参数，这部分是Hutool工具封装的
    private static QrConfig initQrConfig() {
        QrConfig config = new QrConfig(300, 300);
        // 设置边距，既二维码和背景之间的边距
        config.setMargin(3);
        return config;
    }

    /**
     * 流给前端
     * @param content
     * @param outputStream
     */
    public static void createQRCodeStream(String content, OutputStream outputStream)  {
        try {
            QrCodeUtil.generate(content, initQrConfig(), "png", outputStream);
            log.info("生成二维码成功!");
        } catch (QrCodeException e) {
            log.error("发生错误！ {}！", e.getMessage());
        }
    }


}
